Certificates are often used to create secure connections to a server over an unsecured network, such as, the Internet. For example, certificates allow connections to a secure website via secure browsing protocols, such as, for example, hypertext transfer protocol secure (HTTPS), or the like. As another example, mobile applications can use certificates to verify the mobile application is connected to the correct server. As a specific example, a mobile banking application may use certificates to ensure that the mobile application is indeed connected to the servers associated with the mobile banking application provider.
In the mobile application example, certificates are statically incorporated into the mobile application. That is, the certificates are embedded into, or compiled with the application itself. This requires the certificate to be distributed with the application. As such, a user will need to update the application to effect a change in the certificates. Thus, whenever there is a change in the certificate, the developer or mobile application provider must update the application and redistribute the updated application. This often requires significant advance planning as well as a period of overlap where multiple certificates might need to be valid.